Question: I have 2 Divs both of which are subject to `absolute position` condition. First Div has `top: 200px` and second one has `top: 400px`. However surprisingly, when I see them in Computers with different screen size, their relative positions look quite different. For example, when I see them in Laptop they appear to be closer to each other, whereas when I see then in wide-screen Desktop, they appear to be far.

I wonder, since I have `position: absolute` for both Divs, shouldn't their relative position be same regardless the screen size I chose?

What I need to do to make them appear in the same position relative to each other regardless the screen size?

**CSS details for both Divs** 

```
.one {
  margin: 0 auto;
  padding: 32px 0 0 0;
  background-color: rgba(248, 248, 255, 0.15);
  height: 140px;
  position: absolute;
  top: 134px;
  width: 100%;
  text-align: center;
}

.two {
  position: absolute;
  margin: auto;
  top: 237px;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  align-items: center;
}

```

Thanks for your advice.

Answer: 
> 
> why is the find searching in the .git directory?
> 
> 
> 

GNU `find` is clever and supports [several optimizations](https://www.gnu.org/software/findutils/manual/html_mono/find.html#Optimisation-Options) over a naive implementation:

* It can flip the order of `-size +512b -name '*.txt'` and check the name first, because querying the size will require a second syscall.
* It can count the hard links of a directory to determine the number of subdirectories, and when it's seen all it no longers needs to check them for `-type d` or for recursing.
* It can even rewrite `(-B -or -C) -and -A` so that if the checks are equally costly and free of side effects, the `-A` will be evaluated first, hoping to reject the file after 1 test instead of 2.

**However**, it is not yet clever enough to realize that `-not -path '*/.git/*'` means that if you find a directory `.git` then you don't even need to recurse into it because all files inside will fail to match.

Instead, it dutifully recurses, finds each file and matches it against the pattern as if it was a black box.

To explicitly tell it to skip a directory entirely, you can instead use `-prune`. See [How to exclude a directory in find . command](https://stackoverflow.com/questions/4210042/how-to-exclude-a-directory-in-find-command)
Both more efficient and more correct would be to avoid the default `-print` action, change `-not -path ...` to `-prune`, and ensure that `xargs` is only used with NUL-delimited input:

```
find . -name .git -prune -o \
       -name node_modules -prune -o \
       -type f -print0 | xargs -0 sed -i '' s/typescript-library-skeleton/xxx/g '{}' +

```

Note the following points:

* We use `-prune` to tell `find` to not even recurse down the undesired directories, rather than `-not -path ...` to tell it to discard names in those directories *after they were found*.
* We put the `-prune`s **before** the `-type f`, so we're able to match directories for pruning.
* We have an *explicit action*, not depending on the default `-print`. This is important because the default `-print` effectively has a set of parenthesis: `find ...` behaves like `find '(' ... ')' -print`, not like `find ... -print`, no if explicit action is given.
* We use `xargs` only with the `-0` argument enabling NUL-delimited input, and the `-print0` action on the `find` side to generate a NUL-delimited list of names. NUL is the only character which cannot be present in an arbitrary file path (yes, newlines can be present) -- and thus the *only* character which is safe to use to separate paths. (If the `-0` extension to `xargs` and the `-print0` extension to `find` are not guaranteed to be available, use `-exec sed -i '' ... {} +` instead).